perm filename RES.CNV[C,JRA] blob sn#020489 filedate 1973-01-15 generic text, type T, neo UTF8
00100	.RU KNIFER [C,JRA]   ;WHAT BETTER NAME FOR A HACK..
00200	
00300	TOP-LEVEL
00400	EAR_1
00500	←	;← is the prompt character.
00600	(ADD '(TURING SUCKS))
00700	((TURING  SUCKS)(0 +))   ; The (0 +) is context information.
00800	←
00900	(ADD '(SPIRO SUCKS))
01000	((SIPRO SUCKS)(0 +))
01100	←
01200	(ADD '(ME HUMAN))
01300	((ME HUMAN)(0 +))
01350	←
01400	(ADD(IF-NEEDED THM1(!<X SUCKS)  ;This is the definition of an "if-needed
01500	  "AUX"((P(FETCH '(!>X HUMAN)))) ; method"-- Conniver's  THCONSE. P is initialized
01600		:L(TRY-NEXT P '(ADIEU)) ;to the result of the FETCH.
01700		  (AU-REVOIR(INSTANCE))
01800		  (GO 'L)))
01850	THM1	;The method has been added to the current data-base.
01900	←
02000	
02100	(CSETQ  YY(FETCH '(!>XX SUCKS)))
02150	((*POSSIBILITIES(!> SUCKS)) *IGNORE (*ITEM((TURING SUCKS)(0 +))
02175	  ((XX TURING))(*ITEM((SPIRO SUCKS)(0 +))((XX SPIRO))) (*METHOD 
02187	  THM1((X !>XX))((XX *UNASSIGNED))(!>XX SUCKS)))
02188	
02190	;YY is a "possibilities list referencing those "items" and "methods"
02191		;which match the FETCH pattern, (!>XX SUCKS).
02193	←
02200	(TRY-NEXT YY) ;TRY-NEXT strips the possibilities list.
02225	
02250	((TURING SUCKS)(0 +))
02300	(PRINT XX)
02400	TURING
02500	←
02600	(TRY-NEXT YY)
02650	((SPIRO SUCKS)(0 +))
02700	
02800	←
02900	(PRINT XX)
03000	SPIRO
03100	←
03200	(TRY-NEXT YY)
03300	(*NOTE((XX ME)))
03400	←
03500	(PRINT XX)
03600	ME
03700	←
03800	(TRY-NEXT YY)
03900	NIL
04000	←